package com.newly.common.base.entity.sys.operLogger.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.newly.common.base.constants.MenuConstant;
import com.newly.common.base.entity.sys.tenant.vo.SimpleTenantVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

/**
 * @program: newly-parent
 * @remark: 操作日志VO
 * @author: guan
 * @create: 2021-12-04 17:52
 */
@Data
public class OperLoggerVo implements Serializable {
    /**
     * 日志id
     */
    @JsonSerialize(using = ToStringSerializer.class)
    private Long id;

    /**
     * 操作用户
     */
    private SimpleTenantVo tenant;

    /**
     * 操作类型
     */
    private MenuConstant.Ability ability;

    /**
     * 操作原型
     */
    private String title;

    /**
     * 操作参数
     */
    private String argument;

    /**
     * 备注
     */
    private String remark;

    /**
     * 操作时间
     */
    private Date createTime;

    /**
     * 操作状态
     */
    private Integer status;

    /**
     * ip地址
     */
    @ApiModelProperty(value = "ip地址")
    private String ip;

    /**
     * 浏览器
     */
    @ApiModelProperty(value = "浏览器")
    private String browse;

    /**
     * 操作系统
     */
    @ApiModelProperty(value = "操作系统")
    private String operSystem;

    /**
     * 操作地点
     */
    @ApiModelProperty(value = "操作地点")
    private String address;

    private String reqMethod;

    /**
     * 请求地址
     */
    @ApiModelProperty(value = "请求地址")
    private String reqUrl;

    /**
     * 执行函数
     */
    @ApiModelProperty(value = "执行函数")
    private String exeFunc;

    private static final long serialVersionUID = 1L;
}